﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class ListaCategorias : System.Web.UI.Page
    {

        List<WSDetalheProduto.Categoria> listChildren;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.Page.IsPostBack)
            {
                WSDetalheProduto.ServicosService detalheProdutoServices = new WSDetalheProduto.ServicosService();
                WSDetalheProduto.Categoria[] listaCategorias = detalheProdutoServices.listarCategorias();
                detalheProdutoServices.Dispose();

                if (listaCategorias.Length > 0)
                {
                    List<WSDetalheProduto.Categoria> listParents = new List<WSDetalheProduto.Categoria>();
                    listChildren = new List<WSDetalheProduto.Categoria>();
                    for (int i = 0; i < listaCategorias.Length; i++)
                    {
                        if (listaCategorias[i].id_pai == null)
                            listParents.Add(listaCategorias[i]);
                        else
                            listChildren.Add(listaCategorias[i]);
                    }

                    MyDataList.DataSource = listParents;
                    MyDataList.DataBind();
                }
            }
        }

        protected void MyDataList_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            DataList dl2 = (DataList)e.Item.FindControl("SubDataList");

            if (listChildren != null)
            {
                WSDetalheProduto.Categoria categoriaPai = (WSDetalheProduto.Categoria)e.Item.DataItem;

                var listaFilhos = from a in listChildren
                                  where a.id_pai == categoriaPai.id
                                  select a;

                dl2.DataSource = listaFilhos.ToList();
                dl2.DataBind();
            }
        }


        protected void XXX_Click(object sender, EventArgs e)
        {
            LinkButton botaoClicado = (LinkButton)sender;
            Session.Add("idCategoria", botaoClicado.CommandArgument);
            Response.Redirect("~/ListaProdutos.aspx?idCategoria=" + botaoClicado.CommandArgument);
        }
    }
}